package com.example.demo.controller;

import lombok.Data;

import java.util.List;
import java.util.Map;

@Data
public class PersonalDashboardVO {
    private Long studentId;
    private String studentName;

    // 总体数据
    private Double totalScore;          // 总得分
    private Integer totalRanking;       // 总排名
    private Integer totalCourses;       // 参与课程数
    private Integer completedCourses;   // 完成课程数

    // 能力维度雷达图数据
    private Map<String, Double> competencyDimensions;

    // 任务进度
    private ProgressInfo overallProgress;

    // 课程列表进度
    private List<CourseProgressItem> courseProgressList;

    @Data
    public static class ProgressInfo {
        private Integer totalAssignments;    // 总任务数
        private Integer completedAssignments; // 已完成任务数
        private Integer inProgressAssignments; // 进行中任务数
        private Integer notStartedAssignments; // 未开始任务数
        private Double completionRate;       // 完成率
    }

    @Data
    public static class CourseProgressItem {
        private Long courseId;
        private String courseName;
        private Double score;
        private Double completionRate;
        private String status; // 进行中/已完成
    }
}